package com.muyu.danmo.mapper;


import com.muyu.danmo.domain.DanmoCommunityComment;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 社区评论数据访问层接口
 *
 * @author kunzong
 * @date 2024-10-30
 */
public interface DanmoCommunityCommentMapper {

    /**
     * 查询社区评论列表
     *
     * @param danmoCommunityComment 查询条件
     * @return 匹配的社区评论列表
     */
    List<DanmoCommunityComment> selectDanmoCommunityCommentList(DanmoCommunityComment danmoCommunityComment);

    /**
     * 根据 ID 查询社区评论
     *
     * @param id 社区评论 ID
     * @return 匹配的社区评论对象
     */
    DanmoCommunityComment selectDanmoCommunityCommentByParentCommentId(@Param("id") String id);

    /**
     * 新增社区评论
     *
     * @param danmoCommunityComment 要新增的社区评论对象
     * @return 操作结果，影响的行数
     */
    int insertDanmoCommunityComment(DanmoCommunityComment danmoCommunityComment);

    /**
     * 更新社区评论
     *
     * @param danmoCommunityComment 要更新的社区评论对象
     * @return 操作结果，影响的行数
     */
    int updateDanmoCommunityComment(DanmoCommunityComment danmoCommunityComment);

    /**
     * 批量删除社区评论
     *
     * @param id 要删除的社区评论 ID
     * @return 操作结果，影响的行数
     */
    int deleteDanmoCommunityCommentByIds(String id);

    /**
     * 删除某个帖子的所有评论
     *
     * @param postId 要删除的社区的帖子id ID
     */
    void deleteByCommunity(@Param("postId") Long postId);

    void deleteDanmoCommunityCommentById(String id);

    DanmoCommunityComment selectDanmoCommunityCommentById(String id);

    List<DanmoCommunityComment> selectDanmoCommunityCommentByPostId(@Param("id") String id);
}